package com.hx.core;

import cn.hutool.core.lang.Dict;
import cn.hutool.extra.template.Template;
import cn.hutool.extra.template.TemplateConfig;
import cn.hutool.extra.template.TemplateEngine;
import cn.hutool.extra.template.TemplateUtil;
import com.hx.core.jsonTemplate.JsonTemplateEngine;

public class Test1 {
    public static void main(String[] args) {
        //自动根据用户引入的模板引擎库的jar来自动选择使用的引擎
        //TemplateConfig为模板引擎的选项，可选内容有字符编码、模板路径、模板加载方式等，默认通过模板字符串渲染
        TemplateConfig config = new TemplateConfig();
        config.setCustomEngine(JsonTemplateEngine.class);
        TemplateEngine templateEngine = TemplateUtil.createEngine(config);
        Template template = templateEngine.getTemplate("hello $name$");
        //Dict本质上为Map，此处可用Map
        String result = template.render(Dict.create().set("name", "Huathy"));
        System.out.println("result = " + result);

        // 使用方式二
        TemplateConfig templateConfig = new TemplateConfig("", TemplateConfig.ResourceMode.CLASSPATH);
        TemplateEngine templateEngine2 = new JsonTemplateEngine(templateConfig);
        Template template2 = templateEngine2.getTemplate("test.json");
        String res2 = template2.render(Dict.create()
                .set("name", "Huathy")
                .set("text","这种方式的json文件格式化时不会乱码"));
        System.out.println("res2 = " + res2);
    }
}
